<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
         * resolve 函数 在回调函数中如果调用resolve方法，promise会有pengding转换为resolved。代表成功
         * reject  函数 在回调函数中如果调用reject方法，promise会有pengding转换为reject。代表失败
        */
       let promise = new Promise(function(resolve, reject){
            console.log("function invoked")
            // 执行成功
            // resolve("ha ha")
            // 执行失败
            // reject("oh no")
            // 出现异常
            throw new Error("error message")
       })

       promise.then(
        function(value){
            // 执行成功会执行的函数
            console.log("promise success:"+value)
        }
       ).catch(
        // 执行失败或者异常时执行的函数
        function(value){
            console.log("promise catch:"+value)
        }
       )
       
       // promise回调函数不会阻碍正常函数执行
       console.log("1")
       console.log("2")

    </script>
</body>
</html>